The complexity of managing computing systems and information technology (IT) processes represents a major impediment to efficient, high-quality, error-free, and cost-effective service delivery ranging from small-business servers to global-scale enterprise backbones. IT systems and processes with a high degree of complexity demands human resources and expertise to manage that complexity, increasing the total cost of ownership. Likewise, complexity increases the amount of time that must be spent interacting with a computing system or between operators to perform the desired function, and decreases efficiency and productivity. Furthermore, complexity results in human errors, as complexity challenges human reasoning and results in erroneous decisions even by skilled operators.
Due to the high complexity level incurred in service delivery processes, it is evident that service providers are actively seeking to reduce the IT complexity by designing, architecting, implementing, and assembling systems and processes with minimal complexity level. In order to do so, they must be able to quantitatively measure and benchmark the degree of IT management complexity exposed by particular computing systems or processes, so that global delivery executives, program mangers, and project leaders can evaluate the prospective complexity before investing in them, and designers, architects, and developers can rebuild and optimize them for reduced complexity. Besides improving decision making for projects and technologies, quantitative complexity evaluation can help computing service providers and outsourcers quantify the amount of human management that will be needed to provide a given service, allowing them to more effectively evaluate costs and set price points. All these scenarios require standardized, representative, accurate, easily-compared quantitative assessments of IT management complexity with metrics mapped to human-perceived complexity such as labor cost, efficiency, and error rate. This motivates the need for a system and methods for calibrating and extrapolating complexity metrics of information technology management.
The prior art of computing system evaluation includes no system or methods for calibrating and extrapolating complexity metrics of information technology management. Well-studied computing system evaluation areas include system performance analysis, software complexity analysis, human-computer interaction analysis, dependability evaluation, and basic complexity evaluation.
System performance analysis attempts to compute quantitative measures of the performance of a computer system, considering both hardware and software components. This is a well-established area rich in analysis techniques and systems. However, none of these methodologies and systems for system performance analysis considers complexity-related aspects of the system under evaluation, nor do they collect or analyze complexity-related data. Therefore, system performance analysis provides no insight into the complexity of the IT management being evaluated.
Software complexity analysis attempts to compute quantitative measures of the complexity of a piece of software code, considering both the intrinsic complexity of the code, as well as the complexity of creating and maintaining the code. However, processes for software complexity analysis do not collect management-related statistics or data and therefore provides no insight into the management complexity of the computing systems and processes running the analyzed software.
Human-computer interaction (HCI) analysis attempts to identify interaction problems between human users and computer systems, typically focusing on identifying confusing, error-prone, or inefficient interaction patterns. However, HCI analysis focuses on detecting problems in human-computer interaction rather than performing an objective, quantitative complexity analysis of that interaction. HCI analysis methods are not designed specifically for measuring management complexity, and typically do not operate on management-related data. In particular, HCI analysis collects human performance data from costly observations of many human users, and does not collect and use management-related data directly from a system under test. Additionally, HCI analysis typically produces qualitative results suggesting areas for improvement of a particular user interface or interaction pattern. Thus, it does not produce quantitative results that evaluate an overall complexity of managing a system, independent of the particular user interface experience. The Model Human Processor approach to HCI analysis does provide objective, quantitative results; however, these results quantify interaction time for motor-function tasks like moving a mouse or clicking an on-screen button, and thus do not provide insight into the complexity of managing computing system and service management.
Dependability evaluation combines aspects of objective, reproducible performance benchmarking with HCI analysis techniques with a focus on configuration-related problems, see, e.g., Brown et al., “Experience with Evaluating Human-Assisted Recovery Processes,” Proceedings of the 2004 International Conference on Dependable Systems and Networks, Los Alamitos, Calif., IEEE, 2004. This approach includes a system for measuring configuration quality as performed by human users, but does not measure configuration complexity and does not provide reproducibility or objective measures.
Basic complexity evaluation quantitatively evaluates complexity of computing system configuration, see, e.g., Brown et al., “System and methods for quantitatively evaluating complexity of computing system configuration,” Ser. No. 11/205,972, filed on Aug. 17, 2005, and Brown et al., “System and methods for integrating authoring with complexity analysis for computing system operation procedures.” However, they do not provide metrics calibration that map configuration-related data directly from a system under test to human-perceived complexity such as labor cost, efficiency, and error rate.